﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kaidou.Model;
using Kaidou.Persister;
using Kaidou.Util;

namespace Kaidou.Bll
{
    public class TRN_Purch_SealManager
    {
        /**
	     * 破棄のシール番号値チェック
	     * @return TRN_Purch_Seal データモデル
	     */
        public List<string> checkSealCancel(TrnPurchSeal_a model, System.Resources.ResourceManager rm) 
        {
           // TrnPurchSeal_a model = new TrnPurchSeal_a();
		    InputErrorException ie = new InputErrorException(rm);

		    //モデルに値をセットする。
		    //model.SealStrNo = seal_str_no;
            //model.SealEndNo = seal_end_no;

		    //入力値の空欄・半角・長さ・大小チェック
		    bool flag= ParameterCheckUtility.checkSealCancel(ie, model.SealStrNo, model.SealEndNo);
			   
             // 終了シール番号が空の場合、開始番号をセット -->
		    if (model.SealEndNo.Trim().Equals("")) {
                model.SealEndNo = model.SealStrNo;
		    }
           
		    try {
                if (flag)
                {
                    LogManager.info("TRN_Purch_SealManager checkSealCancel check begin ");
                    // シール破棄チェック（シール存在・報告未承認・報告済）
                    ParameterCheckUtility.checkSealHaki(ie, model);
                }

		    } catch (Exception pe) {
			   LogManager.error(" checkSealCancel "+pe.Message+pe.StackTrace);
		    } 

		    return ie.getErrorMessages();
	    }


        /**
	     * 破棄取消のシール番号値チェック
	     * @return TRN_Purch_Seal データモデル
	     */
        public List<string> checkSealRevoke(TrnPurchSeal_a model, System.Resources.ResourceManager rm)
        {
            // TrnPurchSeal_a model = new TrnPurchSeal_a();
            InputErrorException ie = new InputErrorException(rm);

            //モデルに値をセットする。
            //model.SealStrNo = seal_str_no;
            //model.SealEndNo = seal_end_no;

            //入力値の空欄・半角・長さ・大小チェック
            bool flag = ParameterCheckUtility.checkSealCancel(ie, model.SealStrNo, model.SealEndNo);

            // 終了シール番号が空の場合、開始番号をセット -->
            if (model.SealEndNo.Trim().Equals(""))
            {
                model.SealEndNo = model.SealStrNo;
            }

            try
            {
                if (flag)
                {
                    LogManager.info("TRN_Purch_SealManager checkSealRevoke check begin ");
               
                    ParameterCheckUtility.checkSealRevoke(ie, model);
                }

            }
            catch (Exception pe)
            {
                LogManager.error(" checkSealRevoke " + pe.Message + pe.StackTrace);
            }

            return ie.getErrorMessages();
        }
    }
}
